package cn.fl.project.transform;

import java.util.ArrayList;
import java.util.List;

import cn.cmm.base.framework.utils.CollectionUtils;
import cn.fl.project.dto.PrjStlMDTO;
import cn.fl.project.vo.PrjStlMVO;

 /**
 * @Description: 项目产品支付表结清信息表 转换器
 * @Description: VO是客户端传递数据到服务端进行转换的数据 
 * @Description: VO转换数据变成DTO传递到服务端 
 * @Description: VO不能在服务端出现
 */
public class PrjStlMVOTransform {


	/**
	 * DTO 转  VO
	 * @param po PrjStlMDTO
	 * @return PrjStlMVO
	 */
	public static PrjStlMVO toVO(PrjStlMDTO dto) {
		PrjStlMVO  vo = null;
		if (dto != null) { 
			vo = new PrjStlMVO();
			vo.setId(dto.getId());
			vo.setPaySchId(dto.getPaySchId());//支付表ID
			vo.setPaySchNo(dto.getPaySchNo());//支付表编号
			vo.setStlStDt(dto.getStlStDt());//发起结清时间
			vo.setStlDt(dto.getStlDt());//标记结清时间
			vo.setStlAmt(dto.getStlAmt());//结清金额（元）
			vo.setStlPd(dto.getStlPd());//结清期次
			vo.setRmS01TotAmt(dto.getRmS01TotAmt());//RM_S01_TOT_AMT
			vo.setRmS03TotAmt(dto.getRmS03TotAmt());//RM_S03_TOT_AMT
			vo.setRmS02TotAmt(dto.getRmS02TotAmt());//RM_S02_TOT_AMT
			vo.setRmS01ArTotAmt(dto.getRmS01ArTotAmt());//剩余未核销租金合计
			vo.setRmS03ArTotAmt(dto.getRmS03ArTotAmt());//剩余未核销本金合计
			vo.setRmS02ArTotAmt(dto.getRmS02ArTotAmt());//剩余未核销利息合计
			vo.setStlOverdueAmt(dto.getStlOverdueAmt());//截止发起日应交逾期租金
			vo.setStlPenaltyAmt(dto.getStlPenaltyAmt());//截止发起日应交逾期罚息
			vo.setStlOverduePaidAmt(dto.getStlOverduePaidAmt());//截止发起日已收逾期租金
			vo.setStlPenaltyPaidAmt(dto.getStlPenaltyPaidAmt());//截止发起日已收逾期罚息
			vo.setOverduePd(dto.getOverduePd());//逾期期次
			vo.setRmS02PaidTotAmt(dto.getRmS02PaidTotAmt());//结清时已还利息
			vo.setRmS03PaidTotAmt(dto.getRmS03PaidTotAmt());//结清时已还本金
			vo.setStlOverdueS02Amt(dto.getStlOverdueS02Amt());
			vo.setStlOverdueS03Amt(dto.getStlOverdueS03Amt());
			vo.setA6RmS03Amt(dto.getA6RmS03Amt());//6期之后剩余的本金
			vo.setNoPaidS01Amt(dto.getNoPaidS01Amt());//6期之前未还的租金信息
			vo.setPaySchTypCd(dto.getPaySchTypCd());//支付表类型
			vo.setRmS03CurrAmt(dto.getRmS03CurrAmt());
			vo.setRmS02CurrAmt(dto.getRmS02CurrAmt());
			
			
			vo.setCrtTm(dto.getCrtTm());//创建时间
			vo.setCrtUsrId(dto.getCrtUsrId());//创建人
			vo.setMdfTm(dto.getMdfTm());//修改时间
			vo.setMdfUsrId(dto.getMdfUsrId());//修改人
		}
		return vo;
	}

	/**
	 * VO 转 DTO
	 * @param dto PrjStlMVO
	 * @return PrjStlMDTO
	 */
	public static PrjStlMDTO toDTO(PrjStlMVO vo) {
		PrjStlMDTO dto = null;
		if (vo != null) {
			dto = new PrjStlMDTO();
			dto.setId(vo.getId());
			dto.setPaySchId(vo.getPaySchId());//支付表ID
			dto.setPaySchNo(vo.getPaySchNo());//支付表编号
			dto.setStlStDt(vo.getStlStDt());//发起结清时间
			dto.setStlDt(vo.getStlDt());//标记结清时间
			dto.setStlAmt(vo.getStlAmt());//结清金额（元）
			dto.setStlPd(vo.getStlPd());//结清期次
			dto.setRmS01TotAmt(vo.getRmS01TotAmt());//RM_S01_TOT_AMT
			dto.setRmS03TotAmt(vo.getRmS03TotAmt());//RM_S03_TOT_AMT
			dto.setRmS02TotAmt(vo.getRmS02TotAmt());//RM_S02_TOT_AMT
			dto.setRmS01ArTotAmt(vo.getRmS01ArTotAmt());//剩余未核销租金合计
			dto.setRmS03ArTotAmt(vo.getRmS03ArTotAmt());//剩余未核销本金合计
			dto.setRmS02ArTotAmt(vo.getRmS02ArTotAmt());//剩余未核销利息合计
			dto.setStlOverdueAmt(vo.getStlOverdueAmt());//截止发起日应交逾期租金
			dto.setStlPenaltyAmt(vo.getStlPenaltyAmt());//截止发起日应交逾期罚息
			dto.setStlOverduePaidAmt(vo.getStlOverduePaidAmt());//截止发起日已收逾期租金
			dto.setStlPenaltyPaidAmt(vo.getStlPenaltyPaidAmt());//截止发起日已收逾期罚息
			dto.setOverduePd(vo.getOverduePd());//逾期期次
			dto.setRmS02PaidTotAmt(vo.getRmS02PaidTotAmt());//结清时已还利息
			dto.setRmS03PaidTotAmt(vo.getRmS03PaidTotAmt());//结清时已还本金
			dto.setA6RmS03Amt(vo.getA6RmS03Amt());//6期之后剩余的本金
			dto.setNoPaidS01Amt(vo.getNoPaidS01Amt());//6期之前未还的租金信息
			dto.setPaySchTypCd(vo.getPaySchTypCd());
			dto.setRmS02CurrAmt(vo.getRmS02CurrAmt());
			dto.setRmS03CurrAmt(vo.getRmS03CurrAmt());
			
			dto.setCrtTm(vo.getCrtTm());//创建时间
			dto.setCrtUsrId(vo.getCrtUsrId());//创建人
			dto.setMdfTm(vo.getMdfTm());//修改时间
			dto.setMdfUsrId(vo.getMdfUsrId());//修改人
		}
		return dto;
	}
	
	/**
	 * DTO集合 转 VO集合
	 * @param List<PrjStlMDTO>
	 * @return List<PrjStlMVO>
	 */
	public static List<PrjStlMVO> toVOList(List<PrjStlMDTO> list) {
		List<PrjStlMVO>  voList = new ArrayList<PrjStlMVO>();
		if(CollectionUtils.isNotEmpty(list)){
			for (PrjStlMDTO dto : list) {
				voList.add(toVO(dto));
			}
		}
		return voList;
	}
	
	/**
	 * VO集合 转 DTO集合
	 * @param list List<PrjStlMVO>
	 * @return List<PrjStlMDTO>
	 */
	public static List<PrjStlMDTO> toDTOList(List<PrjStlMVO> list) {
		List<PrjStlMDTO>  dtoList = new ArrayList<PrjStlMDTO>();
		if(CollectionUtils.isNotEmpty(list)){
			for (PrjStlMVO vo : list) {
				dtoList.add(toDTO(vo));
			}
		}
		return dtoList;
	}
}
